﻿using QFramework;

namespace HKTools
{
    /// <summary>
    /// HKTools默认框架，测试使用，正式环境需替换
    /// </summary>
    public class HK_DefaultArchitecture : Architecture<HK_DefaultArchitecture>
    {
        protected override void Init()
        {
            // Camera多目标切换管理系统
            RegisterSystem<IHK_TargetCamSystem>(new HK_TargetCamSystem());

            // UI框架系统
            RegisterSystem<IHK_UISystem>(new HK_UISystem());

            // 虚拟展厅类相机控制系统
            RegisterSystem<IHK_RoamingCamSystem>(new HK_RoamingCamSystem());

            // 第一人称相机控制系统
            RegisterSystem<IHK_FirstPersonCamSystem>(new HK_FirstPersonCamSystem());

            // 简易任务管理系统
            RegisterSystem<IHK_SimpleTaskSystem>(new HK_SimpleTaskSystem());

            // 任务管理系统
            RegisterModel<IHK_TaskModel>(new HK_TaskModel());
            RegisterSystem<IHK_TaskSystem>(new HK_TaskSystem());

            // 简易对话系统
            RegisterSystem<IHK_SimpleDialogSystem>(new HK_SimpleDialogSystem());

            // 悬浮提示标签系统
            RegisterSystem<IHK_TipSystem>(new HK_TipSystem());

#if NET_4_6
            // 串口通信管理系统
            RegisterSystem<IHK_SerialPortSystem>(new HK_SerialPortSystem());
#endif

            // TCP通信管理系统
            RegisterSystem<IHK_TcpClientSystem>(new HK_TcpClientSystem());
            RegisterSystem<IHK_TcpServerSystem>(new HK_TcpServerSystem());

            // UDP通信管理系统
            RegisterSystem<IHK_UdpSystem>(new HK_UdpSystem());

            // 简易考题管理系统
            RegisterModel<IHK_QuesDataModel>(new HK_QuesDataModel());
            RegisterSystem<IHK_QuesDataSystem>(new HK_QuesDataSystem());

            // FPS监控设置系统
            RegisterSystem<IHK_FPSSystem>(new HK_FPSSystem());

            // 读取图片、视频工具
            RegisterUtility<IHK_FileLoadUtility>(new HK_FileLoadUtility());

            RegisterSystem<IHK_StopwatchSystem>(new HK_StopwatchSystem());  

            // 用户注册登录系统（搭配NodeJs）
            //RegisterSystem<IHK_LoginRegisterSystem>(new HK_LoginRegisterSystem());
        }
    }
}